home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 September / PCWorld_2006-09_cd.bin / komercni software / zoner / zps8_cz.exe / {app} / HTMLPublish / plain.zht / main.js < prev    next >
Text File  |  2006-03-22  |  4KB  |  151 lines

  1. function GeneratePreview(cSourcePath, cDestPath, cID)
  2. {
  3.   //MessageBox("cSourcePath = " + cSourcePath + "\ncDestPath = " + cDestPath + "\ncID = " + cID, "Preview", MB_OK);
  4. }
  5.  
  6. function GetImagePageFileName(iImg) {
  7.   return "img" + IntToStr(iImg, 5) + ".htm";
  8. }
  9.  
  10. function GenerateAlbum(cSourcePath, cDestPath)
  11. {
  12.   var iFilesCount = lSelectedFiles.GetCount();
  13.   var iDirsCount = lSelectedDirs.GetCount();
  14.   var iItemsCount = iFilesCount + iDirsCount;
  15.   
  16.   InitProgress(iItemsCount);
  17.   
  18.   var iRows = Math.ceil(iItemsCount/iCols);
  19.  
  20.   var tAlbum = new CTemplate();
  21.   tAlbum.Load(cSourcePath + "album.tpl", 0);
  22.  
  23.   tAlbum.SetReplace("${TITLE}", ReplaceExifStrings(cTitle, "", ""));
  24.   tAlbum.SetReplace("${BGCOLOR}", HEXColor(iBgColor));
  25.   tAlbum.SetReplace("${FOOTER}", ReplaceExifStrings(cFooter, "", ""));
  26.   tAlbum.SetReplace("${ALBUM_NAME}", ReplaceExifStrings(cAlbumName, "", ""));
  27.   tAlbum.SetReplace("${FONT_SIZE}", cFontSize);
  28.  
  29.   var tRow = new CTemplate();
  30.   tRow.Load(cSourcePath + "row.tpl", 0);
  31.  
  32.   var tCol = new CTemplate();
  33.   tCol.Load(cSourcePath + "col.tpl", 0);
  34.  
  35.   var pDefFolderImage = new CImage();
  36.   pDefFolderImage.Load(cSourcePath + "folder.png", 0);
  37.   
  38.   var cRows = "";
  39.   var cCols = "";
  40.  
  41.   var iMaxWidth = 0;
  42.  
  43.   var iDir = 1;
  44.   var iFile = 1;
  45.   var iItems = 1;
  46.   for (var iRow = 0; iRow < iRows; iRow++)
  47.   {
  48.     cCols = "";
  49.     for (var iCol = 0; iCol < iCols; iCol++)
  50.     {
  51.          SetProgress(iItems);
  52.          
  53.          if (iDir <= iDirsCount)
  54.          {
  55.             cDirName = lSelectedDirs.GetAt(iDir-1);
  56.             
  57.             cRelDirName = StripFilePath(cDirName);
  58.             
  59.             CreateDir(cDestPath + cRelDirName);
  60.             
  61.             var pFolderImage = new CImage();
  62.             var bCustomFolderImage = pFolderImage.LoadDirPreview(cDirName, null);
  63.             pFolderImage.Render(iBgColor);
  64.             
  65.             pFolderImage.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  66.             pFolderImage.SaveAs(cDestPath + cRelDirName + "\\" + "folder.png", PNGformat, 0, 0);
  67.             
  68.             tCol.SetReplace("${HREF_URL}", cRelDirName + "/index.htm");
  69.             tCol.SetReplace("${TN_FILENAME}", cRelDirName + "/" + "folder.png");
  70.             tCol.SetReplace("${TN_WIDTH}", pFolderImage.GetWidth());
  71.             tCol.SetReplace("${TN_HEIGHT}", pFolderImage.GetHeight());
  72.             
  73.             pFolderImage.Close();
  74.             
  75.             cCols += tCol.Replace();
  76.  
  77.             if (pFolderImage.GetWidth() > iMaxWidth)
  78.                iMaxWidth = pFolderImage.GetWidth();
  79.             
  80.               iDir++;
  81.          }
  82.          else if (iFile <= iFilesCount)
  83.         {
  84.             cFileName = lSelectedFiles.GetAt(iFile-1);
  85.             if (bUseOriginalFileNames)
  86.             {
  87.                 cGetFileName = GetFileName(cFileName);
  88.                 
  89.                 cTNFileName = "tn_" + cGetFileName + ".jpg";
  90.                 cImgFileName = cGetFileName + "." + GetFileExt(cFileName);
  91.             }
  92.             else
  93.             {
  94.                 cNumFileName = IntToStr(iFile, 5);
  95.                 
  96.                 cTNFileName = "tn" + cNumFileName + ".jpg";
  97.                 cImgFileName = "img" + cNumFileName + "." + GetFileExt(cFileName).toLowerCase();
  98.             }
  99.             
  100.             var pImg = new CImage();
  101.             pImg.Load(cFileName, 0);
  102.             
  103.             CopyFile(cFileName, cDestPath + cImgFileName, FIL_OM_OVERWRITE);
  104.             
  105.             pImg.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  106.             pImg.SaveAs(cDestPath + cTNFileName, JPGformat, iTNJPEG, 0);
  107.             
  108.             tCol.SetReplace("${HREF_URL}", cImgFileName);
  109.             tCol.SetReplace("${TN_FILENAME}", cTNFileName);
  110.             tCol.SetReplace("${TN_WIDTH}", pImg.GetWidth());
  111.             tCol.SetReplace("${TN_HEIGHT}", pImg.GetHeight());
  112.             
  113.             pImg.Close();
  114.  
  115.             cCols += tCol.Replace();
  116.             
  117.             if (pImg.GetWidth() > iMaxWidth)
  118.                iMaxWidth = pImg.GetWidth();
  119.             
  120.             
  121.             iFile++;
  122.         }
  123.         else
  124.         {
  125.             cCols += "<td></td>";
  126.         }
  127.         
  128.         iItems++;
  129.     }   
  130.  
  131.     tRow.SetReplace("${COLS}", cCols);
  132.     cRows += tRow.Replace();
  133.  
  134.   }
  135.  
  136.   cCols = "";
  137.   for (var iCol = 0; iCol < iCols; iCol++) {
  138.     cCols += "<td width=\""+iMaxWidth+"\"></td>";
  139.   }
  140.   tRow.SetReplace("${COLS}", cCols+"\n");
  141.   cRows += tRow.Replace();
  142.  
  143.   tAlbum.SetReplace("${ROWS}", cRows);
  144.  
  145.   SaveString(cDestPath + "index.htm", tAlbum.Replace(), 0);
  146.  
  147.   return cDestPath + "index.htm";
  148.   
  149. }
  150.  
  151. INIT_OK;